1. Field of the Invention
The present invention relates to a method of precisely deriving the phase of a received pseudo-random code signal in a receiver apparatus for use with the NAVSTAR satellite global positioning system (hereinafter referred to as GPS). The invention enables derivation of accurate phase values to be quickly resumed, after a temporary interruption of the received signal has disturbed an operation of tracking the received pseudo-random code signal phase.
2. Description of the Prior Art.
In the NAVSTAR GPS navigation satellite system, each satellite transmits a suppressed-carrier L-band radio signal which is phase-modulated by two different pseudo-random code signals, referred to as the P-code (precision code) and the C/A (clear/acquisition) code. Both of these pseudo-random code signals are different between the various satellites of the system, i.e. when received, the codes identify each satellite. Both of the pseudo-random code signals are bi-phase modulated by binary data at a 50 bps rate which conveys various information concerning the satellite. Each code consists of a repetitive sequence of chips (i.e. which can be considered as a unique sequence of +1 and -1 values) which is repeated once every 1023 chips. In the following, for simplicity of description, only one of the pseudo-random code signals from one satellite will be considered. However it will be understood that in general, the operations described will occur concurrently (or by some type of time-sharing multiplexing operation) for signals received from several other satellites. In general, signals from four satellites are received and processed concurrently.
The term "measuring phase" as used herein should be understood as signifying, in the case of a received pseudo-random code signal, measurement of an amount of delay of that signal with respect to reference time points defined by an internal reference timing source (i.e. local clock) of the receiver, which is controlled by an internal reference frequency oscillator, or in the case of a received carrier, signifies a value measured with respect to a reference phase value of a regenerated carrier signal that is produced in the receiver by a regenerated carrier generating circuit. Similarly the term "frequency measurement" signifies measured with respect to the frequency of an output signal from the aforementioned internal reference frequency oscillator.
In a GPS receiver, the binary data conveyed in a received pseudo-random code signal can be demodulated by generating a replica pseudo-random code signal in the receiver, having a code sequence that is identical to that of the received pseudo-random code signal, and multiplying the received code signal by the replica code signal. In the prior art this is usually accomplished by using a carrier tracking loop (i.e. a negative feedback loop which tracks the phase and frequency of the carrier of the received satellite signal) to produce a regenerated carrier, and to use that regenerated carrier to demodulate the received satellite signal (after frequency down-conversion), to obtain the received pseudo-random code signal. A code tracking loop (i.e. a type of negative feedback loop which tracks the phase of the received pseudo-random code signal) receives the received pseudo-random code signal, and produces a replica pseudo-random code signal whose phase closely tracks that of the received code. Thus the code tracking loop provides accurate values of phase of the received pseudo-random code signal.
In addition to the binary data that are conveyed by the bi-phase modulation of the pseudo-random code signal, the received signal from the satellite also contains information relating to the range from the GPS receiver to that satellite, as well as velocity of the receiver. That is to say, the amount of delay of the received signal with respect to the time of transmission from the satellite can be used to derive range information, although since the local clock timing reference of the receiver will generally differ from that of the satellite, that delay information is referred to as pseudo-range information. Such signal delay information can be obtained from the phase of the received pseudo-random code signal, if that is very accurately measured with respect to reference timings which are defined in the receiver.
In addition, the carrier frequency of the received radio signal from the satellite will differ from that of the original transmission frequency, due to Doppler shift resulting from relative motion between the GPS receiver and that particular satellite. Thus since the exact original carrier frequency and the velocity and direction of motion of the satellite can be determined, it is possible to obtain information concerning the velocity as well as the position of a rapidly moving vehicle having a GPS receiver, by precisely measuring the frequency of the received carrier. In practice, it is necessary to combine at least four sets of frequency and delay information, derived simultaneously from signals received from four different satellites, to obtain accurate position and velocity estimates.
If the signal being received from a satellite is momentarily interrupted, then this will usually not be a serious problem with regard to the regenerated carrier even if the interruption lasts for several seconds, since that is usually produced from a highly stable frequency source. Even if there should be some difference in phase or frequency between the received carrier and the regenerated carrier after reception of the satellite signal is restored, it will normally still be possible to use the regenerated carrier to demodulate the received pseudo-random code signal, and frequency and phase pull-in by the carrier tracking loop will rapidly occur automatically thereafter. However if the phase-lock condition of the code tracking loop is lost as a result of such an interruption, then it will be necessary to begin an operation for re-acquiring the lock condition, which will take a substantial time, due basically to the long duration of each code repetition interval (code epoch), and the large value of time constant of the code tracking loop filter. Automatic recovery of phase lock cannot occur in that case, since within each epoch, the code is a random sequence. That is to say, the code tracking loop in a prior art GPS receiver is a negative feedback loop, which functions by periodically detecting the degree of phase correlation difference between the replica pseudo-random code signal and the received pseudo-random code signal, and feeding back a resultant correction amount through a loop filter, to control the phase of the replica pseudo-random code signal. However the phase of the received pseudo-random code signal exhibits substantial random errors due to noise in the received signal, so that it is necessary for the loop filter of the code tracking loop to have a substantially long time constant in order to ensure that the replica pseudo-random code signal will accurately track the true phase of the received pseudo-random code signal. This brings the basic disadvantage that, if the received signal should be momentarily interrupted as described above (i.e. at some time after the signal from the satellite has been initially acquired, and phase tracking of the received carrier and received pseudo-random code signal have stabilized) and the signal is then again received, then in addition to the time required to again re-establish the loop phase-locked condition (i.e. by searching for a phase value which provides maximum correlation between the received and replica codes), a substantial time will be required before the code tracking loop once more become stabilized. During that time, accurate pseudo-range information cannot be derived from the received signal. This is an important disadvantage in the case of a receiver which is to be mounted in a vehicle capable of high values of speed and acceleration, in which maximum continuity of position information is essential.
So long as there is a constant velocity of the GPS receiver vehicle (i.e. relative to the satellite), the received carrier will differ in frequency from the transmitted carrier by a fixed amount, and the phase of the received pseudo-random code signal will change at a fixed rate. However, if the vehicle undergoes rapid changes in acceleration or direction of motion, then these will result in corresponding rapid changes in frequency of the received carrier, and rapid changes in the phase of the received pseudo-random code signal. Thus there is a conflict between providing a code tracking loop which is capable of rapidly responding to changes in phase of the received pseudo-random code signal (i.e. a loop having a relatively wide bandwidth, and so a relatively short time-constant) and so will not lose phase lock as a result of such rapid changes in acceleration, and a code tracking loop which will effectively eliminate the effects of noise in the received signal, to thereby provide a highly accurate measure of the phase of the received pseudo-random code signal, for use in pseudo-range computations (i.e. a loop having a relatively small bandwidth, and so a relatively long time-constant).
That basic problem has not been solved in a simple and effective manner in the prior art, so that it has not been possible to easily and economically produce a GPS receiver which will provide highly accurate measurement of phase of the received pseudo-random code signal, which will quickly resume that accurate phase measurement operation following a temporary interruption of the received signal from a satellite, and which will provide a high speed of response to rapidly occurring changes in motion of vehicle mounting the GPS receiver, to provide accurate values of phase of the received pseudo-random code signal in spite of such motion changes, without danger of loss of code phase tracking capability due to these rapid changes.